OpenClaw Browser Relay 局域网

🔌 OpenClaw Browser Relay 局域网连接方案

2026.03.17 阅读约 6 分钟

解决部署在局域网 环境中的 OpenClaw 需要复用本机 Chrome Cookie 和用户身份信息时,无法直接连接 Browser Relay 的问题。

🔌 OpenClaw Browser Relay 局域网连接方案

📖 问题背景

OpenClaw 的 Browser Relay 功能让你可以直接控制本机 Chrome 浏览器,复用现有的 Cookie 登录态和身份信息,非常适合自动化网页操作、爬取数据、测试等场景。

但当 OpenClaw 部署在局域网 Docker 中或者远程服务器上时,会遇到一个问题:浏览器插件运行在你的本机电脑上,而 OpenClaw 服务在另一台机器上,网络不通无法直接连接。

本文提供一套完整的解决方案,通过 TCP 端口转发 + SSH 隧道 实现局域网跨机器连接。

🏗️ 整体架构

本机 Chrome 浏览器 <-> Browser Relay 插件 <-> SSH 隧道 <-> 局域网 Docker/服务器 <-> OpenClaw Browser Relay 服务


🛠️ 步骤一:浏览器安装 OpenClaw Browser Relay 插件

  1. 从 Chrome 应用商店搜索 “OpenClaw Browser Relay” 安装,或者从官方提示安装。
  2. 安装完成后,浏览器工具栏会出现扩展图标。

🚀 步骤二:配置端口转发(关键一步)

根据你的 OpenClaw 部署方式选择对应的配置:

方式 A:Docker Compose 部署(推荐)

在你的 compose.yml 中添加 TCP 转发命令和端口映射:

services:
  openclaw:
    image: ghcr.io/openclaw/openclaw:latest
    # ... 其他配置保持不变
    command: 
      - sh
      - "-c"
      - |
        # 启动 TCP Proxy(在后台运行)
        node -e "const net=require('net');net.createServer(c=>{const p=net.connect(18792,'127.0.0.1');p.on('error',()=>{});c.on('error',()=>{});c.pipe(p).pipe(c);}).listen(18793,'0.0.0.0',()=>console.log('✅ TCP Proxy running'));" &
  
        exec node dist/index.js gateway --bind lan --port 18789
    ports:
      - "xxxx:xxxx" # ... 其他端口映射保持不变
      - "18792:18793"  # 👈 添加这一行,将容器内 18793 转发到宿主机 18792

简单解释:

  • 18792 是 Browser Relay 服务默认监听端口
  • 在容器内部用一个简单的 Node.js TCP 代理将 127.0.0.1:18792 暴露到 0.0.0.0:18793
  • 再通过 Docker 端口映射 18792:18793,让宿主机可以访问

方式 B:本地/裸机部署

直接执行步骤 三

🔌 步骤三:开启 SSH 隧道映射

你的本机电脑上执行这条 SSH 命令,将局域网服务器的 18792 端口映射到本机:

ssh -L 18792:127.0.0.1:18792 username@局域网服务器IP

参数说明:

  • 18792:<局域网IP>:18792 将本机 127.0.0.1:18792 映射到远程服务器的 18792 端口
  • username@局域网服务器IP 是你的 SSH 登录账号和地址

保持这个 SSH 连接处于打开状态,隧道就一直通着。

💡 如果你想让隧道在后台运行,可以加上 -fN 参数:

ssh -fN -L 18789:127.0.0.1:18789 username@局域网服务器IP

✅ 步骤四:插件配置连接

  1. 点击 Chrome 工具栏的 OpenClaw Browser Relay 扩展图标
  2. 在弹出的配置页面中,输入 Token(从 OpenClaw 后台获取)
  3. 点击「保存」,插件会自动连接到本机映射的 127.0.0.1:18792
  4. 连接成功后,扩展图标 badge 会变成绿色,表示已连接

🧪 测试连接

回到 OpenClaw,执行以下命令测试是否连接成功:

openclaw browser profiles

正常可以看到输出:

chrome: running (1 tabs)
  port: 18792, color: #00AA00

🚑 常见问题排查

Q1: 插件连接提示「连接失败」或「超时」?

  • 原因1: 防火墙阻挡。检查 OpenClaw 服务器的防火墙是否放行 18792 端口。
  • 原因2: SSH 隧道没有建立成功。检查 SSH 连接是否正常,端口映射是否正确。
  • 原因3: Docker 端口映射写错了,确认是 18792:18793,不是 18793:18792

Q2: OpenClaw 能看到服务运行,但获取不到标签页?

  • 确认插件已经点击图标连接,badge 是绿色的。
  • 刷新一下浏览器页面,重新连接插件。

Q3: 连接成功,但操作浏览器时报错?

  • 检查 Node.js 版本,OpenClaw 需要 Node.js 18+ 支持。
  • 确认 TCP 代理命令正确复制,没有少字符。

🎯 总结

通过这套方案,你可以:

  • ✅ 在 Docker/远程服务器部署 OpenClaw,仍然能使用本机 Chrome
  • ✅ 完整复用浏览器 Cookie 和登录态,无需重复登录
  • ✅ 利用 SSH 隧道加密传输,安全可靠
  • ✅ 配置简单,只需要几行命令即可完成

享受 Browser Relay 带来的便利吧!🚀